package sohsite.pelada.pelada;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;

import sohsite.pelada.jogo.Jogo;
import sohsite.pelada.peladeiro.Peladeiro;
import sohsite.usuario.Usuario;


public class Pelada {
	
	private Integer id;
	private String nome;
	private Collection<Jogo> jogos;
	private Collection<Peladeiro> peladeiros;
	private Collection<Usuario> usuarios;
	
	public Pelada() {		
	}

	public Pelada(Integer id, String nome, Collection<Jogo> jogos,
			Collection<Peladeiro> peladeiros, Collection<Usuario> usuarios) {
		this.id = id;
		this.nome = nome;
		this.jogos = jogos;
		this.peladeiros = peladeiros;
		this.usuarios = usuarios;
	}

	public Pelada(String nome, Collection<Jogo> jogos,
			Collection<Peladeiro> peladeiros, Collection<Usuario> usuarios) {
		this.nome = nome;
		this.jogos = jogos;
		this.peladeiros = peladeiros;
		this.usuarios = usuarios;
	}

	public Integer getId() {
		return id;
	}
	
	public void setId(Integer id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Collection<Jogo> getJogos() {
		return jogos;
	}
	
	public ArrayList<Jogo> getJogosMesAno(int mes, int ano) {
		ArrayList<Jogo> jogosData = new ArrayList<Jogo>();
		Calendar cal = Calendar.getInstance();
		for(Jogo j: this.jogos){
			cal.setTime(j.getData());
			int mesTemp = cal.get(Calendar.MONTH) + 1;
			int anoTemp = cal.get(Calendar.YEAR);
			if (mesTemp == mes && anoTemp == ano){
				jogosData.add(j);
			}
		}
		return jogosData;
	}

	public void setJogos(Collection<Jogo> jogos) {
		this.jogos = jogos;
	}

	public Collection<Peladeiro> getPeladeiros() {
		return peladeiros;
	}

	public void setPeladeiros(Collection<Peladeiro> peladeiros) {
		this.peladeiros = peladeiros;
	}

	public Collection<Usuario> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(Collection<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public boolean equals(Object pelada){
		Pelada p = (Pelada)pelada;
		boolean retorno = false;
		
		if(this.id == p.getId()){
			retorno = true; 
		}
		
		return retorno;
	}
	
	
	
	
	
	
	
}
